package br.com.dbii;

import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table
public class Campeonato implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @Column(name="idCampeonato")
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;
    
    @Column(name="Nome",length=50)
    private String nome;
    
    @Column(name="Ano")
    private Integer ano;
    
    @Column(name="nroClubes")
    private Integer nroClubes;
    
    @OneToMany(mappedBy="campeonato")
    private List<Rodadas> rodadas = new LinkedList<Rodadas>();

//    @OneToMany(mappedBy="campeonato")
//    private List<Jogos> jogos = new LinkedList<Jogos>();
    
    @OneToMany(mappedBy="campeonato")
    private List<ClassificacaoRodada> classificacaoRodada = new LinkedList<ClassificacaoRodada>();
    
//    @OneToMany(mappedBy="ClassificacaoGeral.campeonato")
//    private List<ClassificacaoGeral> classificacaoGeral = new LinkedList<ClassificacaoGeral>();
    
    public Campeonato(String nome, Integer ano, Integer nroClubes) {
    	this.nome = nome;
    	this.ano = ano;
    	this.nroClubes = nroClubes;
    }
    
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Integer getAno() {
		return ano;
	}

	public void setAno(Integer ano) {
		this.ano = ano;
	}

	public Integer getNroClubes() {
		return nroClubes;
	}

	public void setNroClubes(Integer nroClubes) {
		this.nroClubes = nroClubes;
	}

	public List<Rodadas> getRodadas() {
		return rodadas;
	}

	public void setRodadas(List<Rodadas> rodadas) {
		this.rodadas = rodadas;
	}

//	public List<Jogos> getJogos() {
//		return jogos;
//	}

//	public void setJogos(List<Jogos> jogos) {
//		this.jogos = jogos;
//	}

	public List<ClassificacaoRodada> getClassificacaoRodada() {
		return classificacaoRodada;
	}

	public void setClassificacaoRodada(List<ClassificacaoRodada> classificacaoRodada) {
		this.classificacaoRodada = classificacaoRodada;
	}

//	public List<ClassificacaoGeral> getClassificacaoGeral() {
//		return classificacaoGeral;
//	}

//	public void setClassificacaoGeral(List<ClassificacaoGeral> classificacaoGeral) {
//		this.classificacaoGeral = classificacaoGeral;
//	}
}
